﻿#ifndef MINPOWER_FLOWRES_H
#define MINPOWER_FLOWRES_H

#include <string>
#include <vector>
#include <BPAFilesIO.h>

using namespace std;

/********最小化潮流计算结果(按分区)*******/
typedef struct MinPfResult
{
	int ZoneID;						//分区ID
	string ZoneName;
	vector<int>	BusID;				//有功残差排序之后的母线编号
	vector< double > PMinPfRes;		//有功残差
	vector< double > QMinPfRes;		//无功残差
}MinPfResult;
typedef vector< MinPfResult > MinPfResultVector;


class MinPowerFlow
{
public:
    MinPowerFlow(const char* database, int caseid);
    ~MinPowerFlow();

    const char* database;
    int caseid;

	void MinPowerFlowResOrder();
	MinPfResultVector GetMinPfResPorderList(){ return MinPfResPorderList;}
	MinPfResultVector GetMinPfResQorderList(){ return MinPfResQorderList;}

private:
    BPA::BPAFilesIO::GetDatFromDb *inst;

	MinPfResultVector MinPfResPorderList;		//按有功残差排序
	MinPfResultVector MinPfResQorderList;		//按无功残差排序

};
#endif